This invention relates to transforming logical models into physical models, and particularly to addressing issues with overlapping paths in logical models.
In data modeling, a logical model can be transformed (usually via some transformation function within data modeling tools, such as Erwin or Rational Data Architect (RDA)) into a physical model which can differ significantly from the logical one because of various transformation rules. Such a transformation function lends itself to transforming the entire model, packages within the model, or entities.
However, in many cases, only a selection of paths through the logical model is of interest. With that selection, we often need to be able to transform such paths to their physical equivalent (e.g., a physical model). For example, in the case of multi-dimensional modeling in data warehousing, we need to isolate and understand the paths between a measured entity and its dimensional entities, and ultimately we need to transform the measured entity and its dimensional entities to their physical equivalent. Effectively, this results in our interest being confined to a set of paths through the logical model and not the entire logical model.
Even though, the transformation of the entire logical model to a physical model may be accomplished via some tooling, the transformation of a subset of the logical model (paths through it) has to be determined.
Typically, there is only partial traceability provided by the transformation tool (e.g., RDA) from the physical model to the logical model in the interests of keeping the physical model footprint as small as possible. In other words, only some model elements from the physical model trace back to the logical model.
It may be difficult to determine what a selection of paths through the logical model resolves to in the physical model (i.e., post transformation). Once this determination is made, artifacts such as structured query language (SQL) scripts can be generated in terms of the appropriate paths through the physical model. Each path through the logical model may have a number of distinctive characteristics, e.g., it has a starting node (entity), it has an end node (entity), and it has a set of connectors between these nodes (entities). A connector is a relationship between the entities. Any connector may be defined by a set of attributes in each entity that it is connecting. A connector can have intersections with other paths of interest (the same connectors can be included in one or more paths of interest).
Current solutions rely on the user manually navigating through the physical model to determine what the set of paths resolve to. In the case of a large model (e.g., data warehousing or operational data stores), such a solution is not sustainable.
Another possible solution is to reduce the logical model to only those elements that support the specified paths and then transform the reduced logical model. Again, this is a very cumbersome and time-consuming task particularly in the context of a large logical model.
It would be desirable to have techniques for transforming paths in a logical model into their physical equivalent.